Non-volatile random access memory units (NVRAM) are used to store data permanently. Although non-volatile memory units maintain the memory content even without a supply of current, the memory content nevertheless dissipates sooner or later as a function of the type of the memory unit (flash memory, magnetoresistive random access memory (MRAM), phase change memory (PCM), resistive random access memory (RRAM), or ferroelectric random access memory (FRAM)). Even non-volatile memory units must therefore be refreshed every once in a while.
In non-volatile memory units, so-called refreshes of the memory content stored therein are performed at certain time intervals in order to maintain the memory content. For this purpose, the memory content of the memory area is read in and the corresponding memory area is again overwritten with this read-in memory content.
A use of such non-volatile memory units in embedded systems, for example in a motor vehicle, proves to be problematic especially due to these refreshes.
Accessing a memory area while a refresh of the memory area is being performed is usually not possible in a regular manner. During a refresh, neither reading nor writing of the respective memory area is thus possible in the course of a regular operation of the non-volatile memory unit. Therefore, in an embedded system, an application that accesses a respective memory area during regular operation must be stopped in order to perform a refresh of the memory area.
In an embedded system, this situation may result in high runtime losses. If it is not possible to access certain memory contents during a refresh, in an embedded system of a motor vehicle for example, this may result in a great reduction of an output produced by the engine of the motor vehicle or in the engine not being able to continue to rotate.